﻿Imports Testeitor.DAO
Imports Testeitor.Entidades

Public Class ResultadoTest
    Implements IOperaciones

    Private _lista As System.Collections.Generic.List(Of Entidades.EntityBase)

    Private Sub ResultadoTest_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        _lista = New System.Collections.Generic.List(Of Entidades.EntityBase)
    End Sub

    Public Sub agregar() Implements IOperaciones.agregar
        Dim dialogResultado As New DialogResultadoTest(Util.Operacion.GUARDAR)
        dialogResultado.ShowDialog()
        Me.actualizarGrilla()
    End Sub

    Public Sub modificar() Implements IOperaciones.modificar
        Dim dialogResultado As New DialogResultadoTest(Util.Operacion.MODIFICAR)
        dialogResultado.cargarDatos(Util.obtenerEntidad(_lista))
        dialogResultado.ShowDialog()
        Me.actualizarGrilla()
    End Sub

    Public Sub eliminar() Implements IOperaciones.eliminar
        Dim dialogResultado As New DialogResultadoTest(Util.Operacion.ELIMINAR)
        dialogResultado.cargarDatos(Util.obtenerEntidad(_lista))
        dialogResultado.ShowDialog()
        Me.actualizarGrilla()
    End Sub

    Private Sub actualizarGrilla()
        Dim asignacionDao As New AsignacionDAO
        Dim fechaDesde As DateTime
        Dim fechaHasta As DateTime
        fechaDesde = Convert.ToDateTime(Me.dateDesde.Text)
        fechaHasta = Convert.ToDateTime(Me.dateHasta.Text)
        _lista = asignacionDao.SeleccionarWhere("tiempoLimite between " + fechaDesde + " and " + fechaHasta)

        cargarGrilla(Util.Converteitor(_lista, Util.TipoEntidad.ASIGNACION))
    End Sub

    Public Sub cargarGrilla(ByVal lista As IList)
        Dim columnas As List(Of String) = New List(Of String)
        columnas.Add("ID")
        columnas.Add("Tiempo Limite")
        columnas.Add("Estado")
        columnas.Add("Usuario")
        columnas.Add("Fecha Asignacion")

        Dim campos As List(Of String) = New List(Of String)
        campos.Add("Id")
        campos.Add("tiempoLimite")
        campos.Add("estado_id")
        campos.Add("usuario_id")
        campos.Add("test_id")
        campos.Add("fechaAsignacion")

        Util.cargarGrilla(TestieitorGui.dgvGrilla, columnas, campos, lista)
    End Sub

    Private Sub bntConsultar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bntConsultar.Click

    End Sub
End Class
